package leetcode_900;

import java.util.HashSet;
import java.util.Set;

/**
 *@author 周杨
 *FairCandySwap_888 A和B有若干大小的糖果 问一次交换能使A和B的总糖果大小相等的方案 
 *describe:用hashset存糖果大小 比较差值 AC 51%
 *2018年11月11日 下午6:14:21
 */
public class FairCandySwap_888 {
	public int[] fairCandySwap(int[] A, int[] B) {
		int sum=0;
		Set<Integer> set=new HashSet<Integer>();
		for(int i:A) {
			sum+=i;
			set.add(i);
		}
		for(int i:B)
			sum-=i;
		//最终sum是A和B的差值
		sum/=2;//那么A只需要改变sum就能平衡
		for(int i:B) {
			if(set.contains(i+sum))
				return new int[] {i+sum,i};
		}
		throw null;
	}
}
